Recent data communications nodes often support a multiprotocol label switching (MPLS) protocol that provides a connection-oriented service that enables IP tunneling across a wide area network. Unlike the hop-by-hop, on-demand forwarding of conventional Layer 2 (e.g. bridging) and Layer 3 (e.g. routing) protocols, the MPLS protocol provides a common protocol for end-to-end switching over heterogeneous switching nodes, referred to as label switch routers (LSRs), on pre-configured label switched paths (LSPs). A label switched path is a path through an MPLS network so that when a label is applied, traffic transits multiple routers in the LSP. The MPLS protocol is described in detail in “Multiprotocol Label Switching Architecture,” E. Rosen et al., Internet Engineering Task Force Request for Comment 3031, January 2001 (hereinafter referred to as RFC 3031), the content of which is incorporated herein by reference.
According to the MPLS protocol, analysis of a packet's network layer header is done only once, and not repeated in subsequent hops. In the subsequent hops, a label that is attached to the packet is used as an index into a table which specifies the next hop, and a new label. The old label is replaced with the new label, and the packet is forwarded to its next hop.
According to current MPLS LSP technology, each LSP is generally assigned a committed bandwidth. One deficiency with the assignment of a committed bandwidth for MPLS LSPs from a carrier's point of view is that it often does not appropriately allocate excess bandwidth to the LSPs during low network traffic periods and thus, makes poor usage of a network node's bandwidth.
Another deficiency is that even traffic within an LSP's committed bandwidth may often be affected during peak traffic periods. For example, if aggregate traffic accepted into a network node exceeds the node's queuing capacity, traffic within an LSP's committed bandwidth may be dropped.
Accordingly, there is a need for a system and method for controlling network traffic that helps appropriately allocate use of a network node's excess bandwidth and ensure no loss of traffic within an LSP's committed bandwidth.